//
//  Folder.h
//  sfdcFuse
//
//  Created by Simon Fell on 2/19/07.
//  Copyright 2007 Simon Fell. All rights reserved.
//

#import <Cocoa/Cocoa.h>

@class SalesforceFileSystem;

@interface FileSystemItem : NSObject {
	NSString				*name;
	NSString				*sfdcId;
	NSDate					*systemModstamp;
	NSDate					*createdDate;
	NSDictionary			*attributes;
}
- (id)initWithName:(NSString *)name id:(NSString *)id modstamp:(NSDate *)ms created:(NSDate *)created;
@property (readonly) NSString *name;
@property (readonly) NSString *sfdcId;
@property (readonly) NSDate *systemModstamp;
@property (readonly) NSDate *createdDate;
@property (readonly) NSDictionary *attributes;
@end

@interface File : FileSystemItem {
}
- (id)initWithName:(NSString *)name id:(NSString *)id modstamp:(NSDate *)ms created:(NSDate *)created length:(long)len;
@end


@interface Folder : FileSystemItem {
	NSDictionary			*files;
	NSTimeInterval			filesExpiry;
	SalesforceFileSystem	*fs;
}
- (id)initWithName:(NSString *)name id:(NSString *)id modstamp:(NSDate *)ms created:(NSDate *)created filesystem:(SalesforceFileSystem *)fs;
- (FileSystemItem *)fileWithName:(NSString *)name;
- (void)clearCache;
@property (readonly) NSArray *filenames;
@end
